{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Imports\n",
    "\n",
    "Import all the modules and functionalities we need."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "# Import standard libraries.\n",
    "import os\n",
    "\n",
    "# Import third party libraries.\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "from statsmodels.stats.multitest import multipletests\n",
    "\n",
    "# Import custom libraries/scripts.\n",
    "import annotations\n",
    "import helpers"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Loading data\n",
    "\n",
    "Fetch all our relevant data for the current analysis."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set working contants.\n",
    "EXPERIMENTS_PATH = r'E:\\Miguel\\PhD\\Results\\Competition\\DL\\Four-Arena Setup\\sensory_mutants\\processed'\n",
    "FPS = 60\n",
    "N_MINUTES = 45\n",
    "N_FRAMES = N_MINUTES * 60 * FPS\n",
    "INK = 'black'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set figure configurations.\n",
    "sns.set(\n",
    "        context='paper',\n",
    "        style='ticks',\n",
    "        font='sans-serif',\n",
    "        font_scale=1.0, \n",
    "        rc={\n",
    "            'axes.axisbelow': True,\n",
    "            'axes.edgecolor': INK,\n",
    "            'axes.facecolor': 'white' if INK=='black' else 'black',\n",
    "            'axes.grid': False,\n",
    "            'axes.labelcolor': INK,\n",
    "            'axes.labelsize': 13.0,\n",
    "            'axes.labelweight': 'normal',\n",
    "            'axes.linewidth': 1.0,\n",
    "            'axes.spines.left': True,\n",
    "            'axes.spines.bottom': True,\n",
    "            'axes.spines.top': False,\n",
    "            'axes.spines.right': False,\n",
    "            'axes.titlepad': 15.0,\n",
    "            'axes.titlesize': 20.0,\n",
    "            'axes.titleweight': 'bold',\n",
    "            'figure.facecolor': 'white' if INK=='black' else 'black',\n",
    "            'figure.figsize': [8.0, 4.0],\n",
    "            'figure.titlesize': 30.0,\n",
    "            'figure.titleweight': 'bold',\n",
    "            'font.family': ['sans-serif'],\n",
    "            'font.sans-serif': ['Arial'],\n",
    "            'legend.frameon': False,\n",
    "            'legend.fontsize': 11.0,\n",
    "            'lines.color': INK,\n",
    "            'lines.linewidth': 1.0,\n",
    "            'patch.edgecolor': INK,\n",
    "            'savefig.dpi': 300,\n",
    "            'savefig.format': 'png',\n",
    "            'savefig.bbox': 'tight',\n",
    "            'savefig.transparent': True,\n",
    "            'text.color': INK,\n",
    "            'text.usetex': False,\n",
    "            'xtick.color': INK,\n",
    "            'xtick.direction': 'out',\n",
    "            'xtick.labelsize': 12.0,\n",
    "            'xtick.major.pad': 5.0,\n",
    "            'xtick.major.size': 0.0,\n",
    "            'xtick.major.width': 1.0,\n",
    "            'xtick.minor.size': 0.0,\n",
    "            'xtick.minor.width': 0.4,\n",
    "            'ytick.color': INK,\n",
    "            'ytick.direction': 'out',\n",
    "            'ytick.labelsize': 12.0,\n",
    "            'ytick.major.pad': 5.0,\n",
    "            'ytick.major.size': 3.0,\n",
    "            'ytick.major.width': 1.0,\n",
    "            'ytick.minor.size': 0.0,\n",
    "            'ytick.minor.width': 0.4\n",
    "           }\n",
    "       )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Folder already exists, skipping.\n"
     ]
    }
   ],
   "source": [
    "# Prepare the Figures folder to save our graphs in.\n",
    "savepath = os.path.join(r'C:\\Users\\Miguel\\Desktop\\paper_data', 'paper_figures', 'figureS2')\n",
    "try:\n",
    "    os.makedirs(savepath)\n",
    "    print('New folder created.')\n",
    "except FileExistsError:\n",
    "    print('Folder already exists, skipping.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Paths to conditions:\n",
      " ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless', '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL', '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a', '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA', '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1', '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2']\n"
     ]
    }
   ],
   "source": [
    "# Set the conditions to analyze.\n",
    "condition_order = ['DL', 'PoxN1', 'PoxN2', 'aristaless', 'NorpA', 'Ir8a_Ir25a_ORCO_Gr63a']\n",
    "conditions = [item.path for item in os.scandir(EXPERIMENTS_PATH) if item.name in condition_order]\n",
    "print('Paths to conditions:\\n', conditions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['video_2019-02-26T14_04_30_arena3', 'video_2018-10-30T14_27_48_arena4', 'video_2019-01-22T14_37_51_arena3', 'video_2018-11-08T15_53_03_arena1', 'video_2018-11-20T15_54_06_arena1', 'video_2019-01-10T15_20_27_arena4', 'video_2019-01-11T14_09_38_arena2']\n",
      "7\n"
     ]
    }
   ],
   "source": [
    "# Create a list of all the experiments that we DO NOT want to analyze.\n",
    "intruders = []\n",
    "for condition in conditions:\n",
    "    for file in os.listdir(condition):\n",
    "        if 'quality_control' in file:\n",
    "\n",
    "            # Read the quality.csv file to check which experiments are usable for analysis.\n",
    "            quality_file = os.path.join(condition, file)\n",
    "            quality_df = pd.read_csv(quality_file, usecols=[0,1], index_col=0)\n",
    "            quality_df = quality_df[quality_df['is_usable'] == False].index.values\n",
    "\n",
    "            for value in quality_df:\n",
    "                intruders.append(value)\n",
    "\n",
    "print(intruders)             \n",
    "print(len(intruders))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\t\n",
      " aristaless\n",
      "Copulation too short: video_2019-02-04T15_15_41_arena3\n",
      "Copulation too short: video_2019-02-07T14_18_30_arena4\n",
      "Copulation too short: video_2019-02-22T14_13_46_arena2\n",
      "Copulation too short: video_2019-02-26T14_04_30_arena2\n",
      "\t\n",
      " DL\n",
      "Copulation interrupted: video_2018-11-05T13_29_41_arena2\n",
      "Copulation too short: video_2019-02-12T14_18_45_arena3\n",
      "\t\n",
      " Ir8a_Ir25a_ORCO_Gr63a\n",
      "Copulation interrupted: video_2018-10-29T13_34_11_arena1\n",
      "Copulation interrupted: video_2018-10-29T14_30_25_arena2\n",
      "Copulation interrupted: video_2018-11-08T15_53_03_arena4\n",
      "Copulation interrupted: video_2018-11-20T15_54_06_arena2\n",
      "Copulation too short: video_2018-11-23T13_16_41_arena4\n",
      "Copulation interrupted: video_2019-01-23T13_53_58_arena4\n",
      "\t\n",
      " NorpA\n",
      "Copulation too short: video_2018-11-08T14_54_53_arena1\n",
      "Copulation too short: video_2018-11-26T16_15_44_arena2\n",
      "\t\n",
      " PoxN1\n",
      "\t\n",
      " PoxN2\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'DL': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-25T13_42_23_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-25T14_33_07_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-25T15_22_02_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-25T16_11_07_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-29T13_34_11_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-29T14_30_25_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-29T15_23_04_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-29T15_23_04_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-30T13_33_46_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-30T15_21_16_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-08T13_15_26_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-08T15_53_03_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-08T15_53_03_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-09T14_24_57_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-09T16_10_10_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-12T13_24_50_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-12T16_04_41_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-13T15_07_14_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-15T13_24_06_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-15T15_07_55_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-16T16_03_35_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-19T13_24_37_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-22T13_23_26_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-07T13_25_24_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-07T14_15_27_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-08T14_28_18_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-10T13_33_34_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-21T13_49_00_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-22T15_30_10_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-23T13_53_58_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-28T14_28_36_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-31T13_34_34_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-31T15_10_22_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-04T13_23_14_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-04T15_15_41_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-05T14_28_35_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-07T14_18_30_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-07T16_17_30_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-08T13_28_42_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-11T13_24_09_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-11T14_25_15_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-12T13_18_39_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-14T14_07_10_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-14T15_15_28_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-18T13_35_00_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-18T14_58_21_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-18T14_58_21_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-19T13_31_50_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-19T14_29_27_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-21T14_29_51_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-21T15_27_33_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-22T13_22_20_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-22T15_05_09_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-25T14_15_16_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-25T16_00_43_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-26T13_16_40_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-26T14_04_30_arena1'],\n",
       " 'PoxN1': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-05T14_25_33_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-08T14_54_53_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-09T13_32_43_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-09T15_15_47_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-09T16_10_10_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-12T14_18_04_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-12T15_11_17_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-13T13_20_38_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-13T14_12_04_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-13T15_59_40_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-15T13_24_06_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-15T14_14_38_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-16T14_16_30_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-16T15_13_19_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-19T15_13_59_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-19T16_07_25_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-22T15_13_22_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-23T13_16_41_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-23T14_06_32_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-23T15_02_48_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-26T14_23_16_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-07T13_25_24_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-10T15_20_27_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-21T14_42_26_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-24T13_41_39_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-25T14_42_54_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-25T16_37_11_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-28T13_29_02_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-28T16_23_38_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-29T13_47_57_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-31T14_23_50_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-02-11T15_21_44_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-02-12T15_09_30_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-02-14T13_20_25_arena1'],\n",
       " 'PoxN2': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-05T13_29_41_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-05T14_25_33_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-06T15_23_12_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-08T13_15_26_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-08T14_05_24_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-09T14_24_57_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-09T16_10_10_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-13T15_59_40_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-19T13_24_37_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-19T13_24_37_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-19T16_07_25_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-20T13_17_32_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-22T13_23_26_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-26T13_22_06_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-07T15_09_49_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-08T15_26_26_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-10T16_14_19_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-10T16_14_19_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-22T13_46_31_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-22T15_30_10_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-23T13_53_58_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-23T14_43_15_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-24T14_36_54_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-25T14_42_54_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-25T15_47_08_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-28T16_23_38_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-29T14_34_09_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-02-11T15_21_44_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-02-12T15_09_30_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-02-14T14_07_10_arena4'],\n",
       " 'aristaless': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-01-31T14_23_50_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-01-31T15_10_22_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-01-31T15_10_22_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-01T14_02_23_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-01T14_55_59_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-01T14_55_59_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-01T15_52_47_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-01T15_52_47_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-04T13_23_14_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-04T14_15_37_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-05T13_34_46_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-05T13_34_46_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-07T13_27_20_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-07T14_18_30_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-07T16_17_30_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-08T14_20_28_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-08T14_20_28_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T13_22_20_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T14_13_46_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T15_05_09_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T15_05_09_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T15_56_18_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T15_56_18_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-25T15_08_46_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-25T16_00_43_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-26T13_16_40_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-26T15_07_41_arena2'],\n",
       " 'NorpA': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-10-25T15_22_02_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-10-25T16_11_07_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-10-30T13_33_46_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-06T14_29_09_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-09T13_32_43_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-12T13_24_50_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-13T14_12_04_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-15T16_06_53_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-16T14_16_30_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-20T14_12_58_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-20T15_02_15_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-20T15_54_06_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-26T14_23_16_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-07T14_15_27_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-08T14_28_18_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-08T15_26_26_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-11T14_09_38_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-11T15_00_11_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-22T13_46_31_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-22T16_27_19_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-23T13_53_58_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-23T15_56_06_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-24T16_31_14_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-25T13_48_17_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-25T14_42_54_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-25T14_42_54_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-25T16_37_11_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-29T13_47_57_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-29T16_16_40_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-31T16_13_39_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-02-04T16_09_37_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-02-11T13_24_09_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-02-12T15_09_30_arena3'],\n",
       " 'Ir8a_Ir25a_ORCO_Gr63a': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-10-25T13_42_23_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-10-25T14_33_07_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-10-25T15_22_02_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-10-25T16_11_07_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-10-30T14_27_48_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-05T14_25_33_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-06T15_23_12_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-12T14_18_04_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-13T13_20_38_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-15T16_06_53_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-19T13_24_37_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-19T14_19_33_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-20T13_17_32_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-23T15_02_48_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-26T13_22_06_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-26T14_23_16_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-26T16_15_44_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-07T13_25_24_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-07T15_58_11_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-08T15_26_26_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-10T14_26_21_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-10T15_20_27_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-10T16_14_19_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-11T14_09_38_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-21T14_42_26_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-21T16_33_48_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-22T14_37_51_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-23T14_43_15_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-24T14_36_54_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-25T13_48_17_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-25T15_47_08_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-25T16_37_11_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-29T14_34_09_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-29T16_16_40_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-02-04T15_15_41_arena2']}"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Load all usable experiments for each condition.\n",
    "experiments = {condition: [] for condition in condition_order}\n",
    "\n",
    "for condition_path in conditions:\n",
    "    \n",
    "    condition = os.path.basename(condition_path)\n",
    "    print('\\t\\n', condition)\n",
    "    \n",
    "    for item in os.scandir(condition_path):\n",
    "        if item.is_dir() and item.name not in intruders:\n",
    "            \n",
    "            annotation_video = annotations.read(item.path + '.csv')\n",
    "            \n",
    "            try:\n",
    "                copulation = annotation_video[0].events[0]\n",
    "\n",
    "                # Filter out videos where copulation is interrupted.\n",
    "                copulation_end = copulation.time_interval[1]\n",
    "                if copulation_end==N_FRAMES:\n",
    "                    print('Copulation interrupted:', item.name)\n",
    "                    continue\n",
    "\n",
    "                # Filter out videos where copulation lasts less than 8 minutes.\n",
    "                copulation_duration = copulation.duration\n",
    "                if copulation_duration <= 8 * 60 * FPS:\n",
    "                    print('Copulation too short:', item.name)\n",
    "                    continue\n",
    "            \n",
    "            except IndexError:\n",
    "                continue\n",
    "            \n",
    "            experiments[condition].append(item.path)\n",
    "\n",
    "experiments"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Aggression Analysis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Iteration: 0 \n",
      "Experiment: video_2018-10-25T13_42_23_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 1 \n",
      "Experiment: video_2018-10-25T14_33_07_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 2 \n",
      "Experiment: video_2018-10-25T15_22_02_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 3 \n",
      "Experiment: video_2018-10-25T16_11_07_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 4 \n",
      "Experiment: video_2018-10-29T13_34_11_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 5 \n",
      "Experiment: video_2018-10-29T14_30_25_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 6 \n",
      "Experiment: video_2018-10-29T15_23_04_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 7 \n",
      "Experiment: video_2018-10-29T15_23_04_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 8 \n",
      "Experiment: video_2018-10-30T13_33_46_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 9 \n",
      "Experiment: video_2018-10-30T15_21_16_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 10 \n",
      "Experiment: video_2018-11-08T13_15_26_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 11 \n",
      "Experiment: video_2018-11-08T15_53_03_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 12 \n",
      "Experiment: video_2018-11-08T15_53_03_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 13 \n",
      "Experiment: video_2018-11-09T14_24_57_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 14 \n",
      "Experiment: video_2018-11-09T16_10_10_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 15 \n",
      "Experiment: video_2018-11-12T13_24_50_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 16 \n",
      "Experiment: video_2018-11-12T16_04_41_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 17 \n",
      "Experiment: video_2018-11-13T15_07_14_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 18 \n",
      "Experiment: video_2018-11-15T13_24_06_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 19 \n",
      "Experiment: video_2018-11-15T15_07_55_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 20 \n",
      "Experiment: video_2018-11-16T16_03_35_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 21 \n",
      "Experiment: video_2018-11-19T13_24_37_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 22 \n",
      "Experiment: video_2018-11-22T13_23_26_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 23 \n",
      "Experiment: video_2019-01-07T13_25_24_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 24 \n",
      "Experiment: video_2019-01-07T14_15_27_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 25 \n",
      "Experiment: video_2019-01-08T14_28_18_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 26 \n",
      "Experiment: video_2019-01-10T13_33_34_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 27 \n",
      "Experiment: video_2019-01-21T13_49_00_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 28 \n",
      "Experiment: video_2019-01-22T15_30_10_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 29 \n",
      "Experiment: video_2019-01-23T13_53_58_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 30 \n",
      "Experiment: video_2019-01-28T14_28_36_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 31 \n",
      "Experiment: video_2019-01-31T13_34_34_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 32 \n",
      "Experiment: video_2019-01-31T15_10_22_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 33 \n",
      "Experiment: video_2019-02-04T13_23_14_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 34 \n",
      "Experiment: video_2019-02-04T15_15_41_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 35 \n",
      "Experiment: video_2019-02-05T14_28_35_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 36 \n",
      "Experiment: video_2019-02-07T14_18_30_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 37 \n",
      "Experiment: video_2019-02-07T16_17_30_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 38 \n",
      "Experiment: video_2019-02-08T13_28_42_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 39 \n",
      "Experiment: video_2019-02-11T13_24_09_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 40 \n",
      "Experiment: video_2019-02-11T14_25_15_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 41 \n",
      "Experiment: video_2019-02-12T13_18_39_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 42 \n",
      "Experiment: video_2019-02-14T14_07_10_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 43 \n",
      "Experiment: video_2019-02-14T15_15_28_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 44 \n",
      "Experiment: video_2019-02-18T13_35_00_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 45 \n",
      "Experiment: video_2019-02-18T14_58_21_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 46 \n",
      "Experiment: video_2019-02-18T14_58_21_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 47 \n",
      "Experiment: video_2019-02-19T13_31_50_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 48 \n",
      "Experiment: video_2019-02-19T14_29_27_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 49 \n",
      "Experiment: video_2019-02-21T14_29_51_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 50 \n",
      "Experiment: video_2019-02-21T15_27_33_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 51 \n",
      "Experiment: video_2019-02-22T13_22_20_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 52 \n",
      "Experiment: video_2019-02-22T15_05_09_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 53 \n",
      "Experiment: video_2019-02-25T14_15_16_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 54 \n",
      "Experiment: video_2019-02-25T16_00_43_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 55 \n",
      "Experiment: video_2019-02-26T13_16_40_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 56 \n",
      "Experiment: video_2019-02-26T14_04_30_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 0 \n",
      "Experiment: video_2018-11-05T14_25_33_arena1 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 1 \n",
      "Experiment: video_2018-11-08T14_54_53_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 2 \n",
      "Experiment: video_2018-11-09T13_32_43_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 3 \n",
      "Experiment: video_2018-11-09T15_15_47_arena4 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 4 \n",
      "Experiment: video_2018-11-09T16_10_10_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 5 \n",
      "Experiment: video_2018-11-12T14_18_04_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 6 \n",
      "Experiment: video_2018-11-12T15_11_17_arena1 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 7 \n",
      "Experiment: video_2018-11-13T13_20_38_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 8 \n",
      "Experiment: video_2018-11-13T14_12_04_arena4 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 9 \n",
      "Experiment: video_2018-11-13T15_59_40_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 10 \n",
      "Experiment: video_2018-11-15T13_24_06_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 11 \n",
      "Experiment: video_2018-11-15T14_14_38_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 12 \n",
      "Experiment: video_2018-11-16T14_16_30_arena1 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 13 \n",
      "Experiment: video_2018-11-16T15_13_19_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 14 \n",
      "Experiment: video_2018-11-19T15_13_59_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 15 \n",
      "Experiment: video_2018-11-19T16_07_25_arena4 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 16 \n",
      "Experiment: video_2018-11-22T15_13_22_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 17 \n",
      "Experiment: video_2018-11-23T13_16_41_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 18 \n",
      "Experiment: video_2018-11-23T14_06_32_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 19 \n",
      "Experiment: video_2018-11-23T15_02_48_arena4 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 20 \n",
      "Experiment: video_2018-11-26T14_23_16_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 21 \n",
      "Experiment: video_2019-01-07T13_25_24_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 22 \n",
      "Experiment: video_2019-01-10T15_20_27_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 23 \n",
      "Experiment: video_2019-01-21T14_42_26_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 24 \n",
      "Experiment: video_2019-01-24T13_41_39_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 25 \n",
      "Experiment: video_2019-01-25T14_42_54_arena4 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 26 \n",
      "Experiment: video_2019-01-25T16_37_11_arena1 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 27 \n",
      "Experiment: video_2019-01-28T13_29_02_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 28 \n",
      "Experiment: video_2019-01-28T16_23_38_arena1 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 29 \n",
      "Experiment: video_2019-01-29T13_47_57_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 30 \n",
      "Experiment: video_2019-01-31T14_23_50_arena4 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 31 \n",
      "Experiment: video_2019-02-11T15_21_44_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 32 \n",
      "Experiment: video_2019-02-12T15_09_30_arena4 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 33 \n",
      "Experiment: video_2019-02-14T13_20_25_arena1 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 0 \n",
      "Experiment: video_2018-11-05T13_29_41_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 1 \n",
      "Experiment: video_2018-11-05T14_25_33_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 2 \n",
      "Experiment: video_2018-11-06T15_23_12_arena2 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 3 \n",
      "Experiment: video_2018-11-08T13_15_26_arena2 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 4 \n",
      "Experiment: video_2018-11-08T14_05_24_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 5 \n",
      "Experiment: video_2018-11-09T14_24_57_arena1 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 6 \n",
      "Experiment: video_2018-11-09T16_10_10_arena2 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 7 \n",
      "Experiment: video_2018-11-13T15_59_40_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 8 \n",
      "Experiment: video_2018-11-19T13_24_37_arena1 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 9 \n",
      "Experiment: video_2018-11-19T13_24_37_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 10 \n",
      "Experiment: video_2018-11-19T16_07_25_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 11 \n",
      "Experiment: video_2018-11-20T13_17_32_arena2 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 12 \n",
      "Experiment: video_2018-11-22T13_23_26_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 13 \n",
      "Experiment: video_2018-11-26T13_22_06_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 14 \n",
      "Experiment: video_2019-01-07T15_09_49_arena2 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 15 \n",
      "Experiment: video_2019-01-08T15_26_26_arena1 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 16 \n",
      "Experiment: video_2019-01-10T16_14_19_arena1 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 17 \n",
      "Experiment: video_2019-01-10T16_14_19_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 18 \n",
      "Experiment: video_2019-01-22T13_46_31_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 19 \n",
      "Experiment: video_2019-01-22T15_30_10_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 20 \n",
      "Experiment: video_2019-01-23T13_53_58_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 21 \n",
      "Experiment: video_2019-01-23T14_43_15_arena1 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 22 \n",
      "Experiment: video_2019-01-24T14_36_54_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 23 \n",
      "Experiment: video_2019-01-25T14_42_54_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 24 \n",
      "Experiment: video_2019-01-25T15_47_08_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 25 \n",
      "Experiment: video_2019-01-28T16_23_38_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 26 \n",
      "Experiment: video_2019-01-29T14_34_09_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 27 \n",
      "Experiment: video_2019-02-11T15_21_44_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 28 \n",
      "Experiment: video_2019-02-12T15_09_30_arena1 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 29 \n",
      "Experiment: video_2019-02-14T14_07_10_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 0 \n",
      "Experiment: video_2019-01-31T14_23_50_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 1 \n",
      "Experiment: video_2019-01-31T15_10_22_arena3 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 2 \n",
      "Experiment: video_2019-01-31T15_10_22_arena4 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 3 \n",
      "Experiment: video_2019-02-01T14_02_23_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 4 \n",
      "Experiment: video_2019-02-01T14_55_59_arena2 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 5 \n",
      "Experiment: video_2019-02-01T14_55_59_arena4 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 6 \n",
      "Experiment: video_2019-02-01T15_52_47_arena2 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 7 \n",
      "Experiment: video_2019-02-01T15_52_47_arena3 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 8 \n",
      "Experiment: video_2019-02-04T13_23_14_arena4 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 9 \n",
      "Experiment: video_2019-02-04T14_15_37_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 10 \n",
      "Experiment: video_2019-02-05T13_34_46_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 11 \n",
      "Experiment: video_2019-02-05T13_34_46_arena4 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 12 \n",
      "Experiment: video_2019-02-07T13_27_20_arena4 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 13 \n",
      "Experiment: video_2019-02-07T14_18_30_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 14 \n",
      "Experiment: video_2019-02-07T16_17_30_arena2 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 15 \n",
      "Experiment: video_2019-02-08T14_20_28_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 16 \n",
      "Experiment: video_2019-02-08T14_20_28_arena4 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 17 \n",
      "Experiment: video_2019-02-22T13_22_20_arena3 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 18 \n",
      "Experiment: video_2019-02-22T14_13_46_arena3 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 19 \n",
      "Experiment: video_2019-02-22T15_05_09_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 20 \n",
      "Experiment: video_2019-02-22T15_05_09_arena2 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 21 \n",
      "Experiment: video_2019-02-22T15_56_18_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 22 \n",
      "Experiment: video_2019-02-22T15_56_18_arena2 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 23 \n",
      "Experiment: video_2019-02-25T15_08_46_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 24 \n",
      "Experiment: video_2019-02-25T16_00_43_arena3 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 25 \n",
      "Experiment: video_2019-02-26T13_16_40_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 26 \n",
      "Experiment: video_2019-02-26T15_07_41_arena2 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 0 \n",
      "Experiment: video_2018-10-25T15_22_02_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 1 \n",
      "Experiment: video_2018-10-25T16_11_07_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 2 \n",
      "Experiment: video_2018-10-30T13_33_46_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 3 \n",
      "Experiment: video_2018-11-06T14_29_09_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 4 \n",
      "Experiment: video_2018-11-09T13_32_43_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 5 \n",
      "Experiment: video_2018-11-12T13_24_50_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 6 \n",
      "Experiment: video_2018-11-13T14_12_04_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 7 \n",
      "Experiment: video_2018-11-15T16_06_53_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 8 \n",
      "Experiment: video_2018-11-16T14_16_30_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 9 \n",
      "Experiment: video_2018-11-20T14_12_58_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 10 \n",
      "Experiment: video_2018-11-20T15_02_15_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 11 \n",
      "Experiment: video_2018-11-20T15_54_06_arena3 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 12 \n",
      "Experiment: video_2018-11-26T14_23_16_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 13 \n",
      "Experiment: video_2019-01-07T14_15_27_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 14 \n",
      "Experiment: video_2019-01-08T14_28_18_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 15 \n",
      "Experiment: video_2019-01-08T15_26_26_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 16 \n",
      "Experiment: video_2019-01-11T14_09_38_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 17 \n",
      "Experiment: video_2019-01-11T15_00_11_arena3 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 18 \n",
      "Experiment: video_2019-01-22T13_46_31_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 19 \n",
      "Experiment: video_2019-01-22T16_27_19_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 20 \n",
      "Experiment: video_2019-01-23T13_53_58_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 21 \n",
      "Experiment: video_2019-01-23T15_56_06_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 22 \n",
      "Experiment: video_2019-01-24T16_31_14_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 23 \n",
      "Experiment: video_2019-01-25T13_48_17_arena3 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 24 \n",
      "Experiment: video_2019-01-25T14_42_54_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 25 \n",
      "Experiment: video_2019-01-25T14_42_54_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 26 \n",
      "Experiment: video_2019-01-25T16_37_11_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 27 \n",
      "Experiment: video_2019-01-29T13_47_57_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 28 \n",
      "Experiment: video_2019-01-29T16_16_40_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 29 \n",
      "Experiment: video_2019-01-31T16_13_39_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 30 \n",
      "Experiment: video_2019-02-04T16_09_37_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 31 \n",
      "Experiment: video_2019-02-11T13_24_09_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 32 \n",
      "Experiment: video_2019-02-12T15_09_30_arena3 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 0 \n",
      "Experiment: video_2018-10-25T13_42_23_arena2 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 1 \n",
      "Experiment: video_2018-10-25T14_33_07_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 2 \n",
      "Experiment: video_2018-10-25T15_22_02_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 3 \n",
      "Experiment: video_2018-10-25T16_11_07_arena2 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 4 \n",
      "Experiment: video_2018-10-30T14_27_48_arena2 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 5 \n",
      "Experiment: video_2018-11-05T14_25_33_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 6 \n",
      "Experiment: video_2018-11-06T15_23_12_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 7 \n",
      "Experiment: video_2018-11-12T14_18_04_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 8 \n",
      "Experiment: video_2018-11-13T13_20_38_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 9 \n",
      "Experiment: video_2018-11-15T16_06_53_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 10 \n",
      "Experiment: video_2018-11-19T13_24_37_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 11 \n",
      "Experiment: video_2018-11-19T14_19_33_arena2 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 12 \n",
      "Experiment: video_2018-11-20T13_17_32_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 13 \n",
      "Experiment: video_2018-11-23T15_02_48_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 14 \n",
      "Experiment: video_2018-11-26T13_22_06_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 15 \n",
      "Experiment: video_2018-11-26T14_23_16_arena2 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 16 \n",
      "Experiment: video_2018-11-26T16_15_44_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 17 \n",
      "Experiment: video_2019-01-07T13_25_24_arena4 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 18 \n",
      "Experiment: video_2019-01-07T15_58_11_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 19 \n",
      "Experiment: video_2019-01-08T15_26_26_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 20 \n",
      "Experiment: video_2019-01-10T14_26_21_arena4 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 21 \n",
      "Experiment: video_2019-01-10T15_20_27_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 22 \n",
      "Experiment: video_2019-01-10T16_14_19_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 23 \n",
      "Experiment: video_2019-01-11T14_09_38_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 24 \n",
      "Experiment: video_2019-01-21T14_42_26_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 25 \n",
      "Experiment: video_2019-01-21T16_33_48_arena4 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 26 \n",
      "Experiment: video_2019-01-22T14_37_51_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 27 \n",
      "Experiment: video_2019-01-23T14_43_15_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 28 \n",
      "Experiment: video_2019-01-24T14_36_54_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 29 \n",
      "Experiment: video_2019-01-25T13_48_17_arena4 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 30 \n",
      "Experiment: video_2019-01-25T15_47_08_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 31 \n",
      "Experiment: video_2019-01-25T16_37_11_arena2 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 32 \n",
      "Experiment: video_2019-01-29T14_34_09_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 33 \n",
      "Experiment: video_2019-01-29T16_16_40_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 34 \n",
      "Experiment: video_2019-02-04T15_15_41_arena2 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>has_aggression</th>\n",
       "      <th>latency</th>\n",
       "      <th>latency_mins</th>\n",
       "      <th>nframes</th>\n",
       "      <th>nbouts</th>\n",
       "      <th>ratio_frames</th>\n",
       "      <th>ratio_bouts</th>\n",
       "      <th>condition</th>\n",
       "      <th>experiment</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>True</td>\n",
       "      <td>5132.0</td>\n",
       "      <td>1.425556</td>\n",
       "      <td>1364</td>\n",
       "      <td>10</td>\n",
       "      <td>0.075778</td>\n",
       "      <td>2.0</td>\n",
       "      <td>DL</td>\n",
       "      <td>video_2018-10-25T13_42_23_arena4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>DL</td>\n",
       "      <td>video_2018-10-25T14_33_07_arena3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>DL</td>\n",
       "      <td>video_2018-10-25T15_22_02_arena1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>True</td>\n",
       "      <td>14204.0</td>\n",
       "      <td>3.945556</td>\n",
       "      <td>1685</td>\n",
       "      <td>10</td>\n",
       "      <td>0.093611</td>\n",
       "      <td>2.0</td>\n",
       "      <td>DL</td>\n",
       "      <td>video_2018-10-25T16_11_07_arena3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>True</td>\n",
       "      <td>33652.0</td>\n",
       "      <td>9.347778</td>\n",
       "      <td>935</td>\n",
       "      <td>5</td>\n",
       "      <td>0.051944</td>\n",
       "      <td>1.0</td>\n",
       "      <td>DL</td>\n",
       "      <td>video_2018-10-29T13_34_11_arena3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>211</th>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "      <td>video_2019-01-25T15_47_08_arena3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>212</th>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "      <td>video_2019-01-25T16_37_11_arena2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>213</th>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "      <td>video_2019-01-29T14_34_09_arena3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>214</th>\n",
       "      <td>True</td>\n",
       "      <td>1065.0</td>\n",
       "      <td>0.295833</td>\n",
       "      <td>76</td>\n",
       "      <td>2</td>\n",
       "      <td>0.004222</td>\n",
       "      <td>0.4</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "      <td>video_2019-01-29T16_16_40_arena1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>215</th>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "      <td>video_2019-02-04T15_15_41_arena2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>216 rows × 9 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     has_aggression  latency  latency_mins  nframes  nbouts  ratio_frames  \\\n",
       "0              True   5132.0      1.425556     1364      10      0.075778   \n",
       "1             False      NaN      0.000000        0       0      0.000000   \n",
       "2             False      NaN      0.000000        0       0      0.000000   \n",
       "3              True  14204.0      3.945556     1685      10      0.093611   \n",
       "4              True  33652.0      9.347778      935       5      0.051944   \n",
       "..              ...      ...           ...      ...     ...           ...   \n",
       "211           False      NaN      0.000000        0       0      0.000000   \n",
       "212           False      NaN      0.000000        0       0      0.000000   \n",
       "213           False      NaN      0.000000        0       0      0.000000   \n",
       "214            True   1065.0      0.295833       76       2      0.004222   \n",
       "215           False      NaN      0.000000        0       0      0.000000   \n",
       "\n",
       "     ratio_bouts              condition                        experiment  \n",
       "0            2.0                     DL  video_2018-10-25T13_42_23_arena4  \n",
       "1            0.0                     DL  video_2018-10-25T14_33_07_arena3  \n",
       "2            0.0                     DL  video_2018-10-25T15_22_02_arena1  \n",
       "3            2.0                     DL  video_2018-10-25T16_11_07_arena3  \n",
       "4            1.0                     DL  video_2018-10-29T13_34_11_arena3  \n",
       "..           ...                    ...                               ...  \n",
       "211          0.0  Ir8a_Ir25a_ORCO_Gr63a  video_2019-01-25T15_47_08_arena3  \n",
       "212          0.0  Ir8a_Ir25a_ORCO_Gr63a  video_2019-01-25T16_37_11_arena2  \n",
       "213          0.0  Ir8a_Ir25a_ORCO_Gr63a  video_2019-01-29T14_34_09_arena3  \n",
       "214          0.4  Ir8a_Ir25a_ORCO_Gr63a  video_2019-01-29T16_16_40_arena1  \n",
       "215          0.0  Ir8a_Ir25a_ORCO_Gr63a  video_2019-02-04T15_15_41_arena2  \n",
       "\n",
       "[216 rows x 9 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aggression_df = pd.DataFrame()\n",
    "for condition in condition_order:\n",
    "    for h, experiment_path in enumerate(experiments[condition]):\n",
    "\n",
    "        experiment = os.path.basename(experiment_path)\n",
    "        \n",
    "        print('Iteration:', h, '\\nExperiment:', experiment, '\\nCondition:', condition, '\\n')\n",
    "        \n",
    "        # Read .csv annotation files.\n",
    "        annotation_video = annotations.read(experiment_path+'.csv')\n",
    "        copulation = annotation_video[0].events[0]\n",
    "        aggression_events = annotation_video[1].events\n",
    "        n_events = len(aggression_events)\n",
    "\n",
    "        # In case there is aggression, do the necessary calculations.\n",
    "        if n_events > 0:\n",
    "\n",
    "            latency =  aggression_events[0].time - copulation.time\n",
    "            latency_mins = latency / (60 * FPS)\n",
    "            ratio_frames = sum([aggression.duration for aggression in aggression_events]) / (5 * 60 * FPS)\n",
    "            ratio_bouts = n_events / 5\n",
    "\n",
    "            aggression_data = pd.DataFrame({'has_aggression': True,\n",
    "                                            'latency': latency,\n",
    "                                            'latency_mins': latency_mins,\n",
    "                                            'nframes': sum([aggression.duration for aggression in aggression_events]),\n",
    "                                            'nbouts': n_events,\n",
    "                                            'ratio_frames': ratio_frames,\n",
    "                                            'ratio_bouts': ratio_bouts,\n",
    "                                            'condition': condition,\n",
    "                                            'experiment': experiment},\n",
    "                                            index=[h],\n",
    "                                           )\n",
    "\n",
    "        # If not, preset our dictionary with default values.\n",
    "        else:\n",
    "            print('No aggression for experiment', experiment)\n",
    "            \n",
    "            aggression_data = pd.DataFrame({'has_aggression': False,\n",
    "                                            'latency': np.nan,\n",
    "                                            'latency_mins': 0,\n",
    "                                            'nframes': 0,\n",
    "                                            'nbouts': 0,\n",
    "                                            'ratio_frames': 0, \n",
    "                                            'ratio_bouts': 0,\n",
    "                                            'condition': condition,\n",
    "                                            'experiment': experiment},\n",
    "                                            index=[h],\n",
    "                                          )\n",
    "\n",
    "        # Concatenate all data together.\n",
    "        aggression_df = pd.concat([aggression_df, aggression_data], ignore_index=True)\n",
    "\n",
    "aggression_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>n_aggression</th>\n",
       "      <th>n_experiments</th>\n",
       "      <th>aggression_rate</th>\n",
       "      <th>condition</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>37</td>\n",
       "      <td>57</td>\n",
       "      <td>0.649123</td>\n",
       "      <td>DL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>26</td>\n",
       "      <td>34</td>\n",
       "      <td>0.764706</td>\n",
       "      <td>PoxN1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>24</td>\n",
       "      <td>30</td>\n",
       "      <td>0.800000</td>\n",
       "      <td>PoxN2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>15</td>\n",
       "      <td>27</td>\n",
       "      <td>0.555556</td>\n",
       "      <td>aristaless</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>12</td>\n",
       "      <td>33</td>\n",
       "      <td>0.363636</td>\n",
       "      <td>NorpA</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>3</td>\n",
       "      <td>35</td>\n",
       "      <td>0.085714</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   n_aggression  n_experiments  aggression_rate              condition\n",
       "0            37             57         0.649123                     DL\n",
       "1            26             34         0.764706                  PoxN1\n",
       "2            24             30         0.800000                  PoxN2\n",
       "3            15             27         0.555556             aristaless\n",
       "4            12             33         0.363636                  NorpA\n",
       "5             3             35         0.085714  Ir8a_Ir25a_ORCO_Gr63a"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Re-arrange original aggression DataFrame to get aggression rate.\n",
    "aggression_rate_df = pd.DataFrame()\n",
    "has_aggression_list = []\n",
    "for condition in condition_order:\n",
    "    \n",
    "    aggression_column = aggression_df[aggression_df['condition']==condition]\n",
    "    n_exp = aggression_column.shape[0]\n",
    "\n",
    "    has_aggression = aggression_column[aggression_column['has_aggression']==True]\n",
    "    n_aggression = has_aggression.shape[0]\n",
    "    has_aggression_list.append(n_aggression)\n",
    "    aggression_rate = n_aggression / n_exp\n",
    "    rate_data = pd.DataFrame({'n_aggression': n_aggression,\n",
    "                              'n_experiments': n_exp,\n",
    "                              'aggression_rate': aggression_rate,\n",
    "                              'condition': condition,\n",
    "                             }, index=[0])\n",
    "        \n",
    "    aggression_rate_df = pd.concat([aggression_rate_df, rate_data], ignore_index=True)\n",
    "\n",
    "aggression_rate_df = aggression_rate_df[['n_aggression', 'n_experiments', 'aggression_rate', 'condition']]\n",
    "aggression_rate_df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## How many bouts of aggressive behavior do we observe (normalized)? "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ratio_bouts</th>\n",
       "      <th>condition</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2.0</td>\n",
       "      <td>DL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.0</td>\n",
       "      <td>DL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.0</td>\n",
       "      <td>DL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2.0</td>\n",
       "      <td>DL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.0</td>\n",
       "      <td>DL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>211</th>\n",
       "      <td>0.0</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>212</th>\n",
       "      <td>0.0</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>213</th>\n",
       "      <td>0.0</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>214</th>\n",
       "      <td>0.4</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>215</th>\n",
       "      <td>0.0</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>216 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     ratio_bouts              condition\n",
       "0            2.0                     DL\n",
       "1            0.0                     DL\n",
       "2            0.0                     DL\n",
       "3            2.0                     DL\n",
       "4            1.0                     DL\n",
       "..           ...                    ...\n",
       "211          0.0  Ir8a_Ir25a_ORCO_Gr63a\n",
       "212          0.0  Ir8a_Ir25a_ORCO_Gr63a\n",
       "213          0.0  Ir8a_Ir25a_ORCO_Gr63a\n",
       "214          0.4  Ir8a_Ir25a_ORCO_Gr63a\n",
       "215          0.0  Ir8a_Ir25a_ORCO_Gr63a\n",
       "\n",
       "[216 rows x 2 columns]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ratio_bouts_df = aggression_df.copy()[['ratio_bouts', 'condition']]\n",
    "ratio_bouts_df = ratio_bouts_df.dropna()\n",
    "ratio_bouts_df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Statistics"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\t PoxN1 \n",
      "\n",
      "Shapiro's Test: group 1 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 1 IS NOT normally distributed.\n",
      "Shapiro's Test: group 2 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 2 IS normally distributed.\n",
      "Levene's Test for non-normally distributed samples:\n",
      "  p-value = 0.050594\n",
      "  All groups were sampled from populations with IDENTICAL variances.\n",
      "\n",
      "Mann-Whitney p-value: 0.45188122360798744 \n",
      "\n",
      "\n",
      "\t PoxN2 \n",
      "\n",
      "Shapiro's Test: group 1 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 1 IS NOT normally distributed.\n",
      "Shapiro's Test: group 2 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 2 IS normally distributed.\n",
      "Levene's Test for non-normally distributed samples:\n",
      "  p-value = 0.002182\n",
      "  All groups were sampled from populations with NOT IDENTICAL variances.\n",
      "\n",
      "Mann-Whitney p-value: 0.42799353534303786 \n",
      "\n",
      "\n",
      "\t aristaless \n",
      "\n",
      "Shapiro's Test: group 1 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 1 IS NOT normally distributed.\n",
      "Shapiro's Test: group 2 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 2 IS NOT normally distributed.\n",
      "Levene's Test for non-normally distributed samples:\n",
      "  p-value = 0.030607\n",
      "  All groups were sampled from populations with NOT IDENTICAL variances.\n",
      "\n",
      "Mann-Whitney p-value: 0.04722751752012521 \n",
      "\n",
      "\n",
      "\t NorpA \n",
      "\n",
      "Shapiro's Test: group 1 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 1 IS NOT normally distributed.\n",
      "Shapiro's Test: group 2 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 2 IS NOT normally distributed.\n",
      "Levene's Test for non-normally distributed samples:\n",
      "  p-value = 0.000053\n",
      "  All groups were sampled from populations with NOT IDENTICAL variances.\n",
      "\n",
      "Mann-Whitney p-value: 0.00025556925835631153 \n",
      "\n",
      "\n",
      "\t Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Shapiro's Test: group 1 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 1 IS NOT normally distributed.\n",
      "Shapiro's Test: group 2 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 2 IS NOT normally distributed.\n",
      "Levene's Test for non-normally distributed samples:\n",
      "  p-value = 0.000000\n",
      "  All groups were sampled from populations with NOT IDENTICAL variances.\n",
      "\n",
      "Mann-Whitney p-value: 4.49459973973883e-08 \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'PoxN1': 0.45188122360798744,\n",
       " 'PoxN2': 0.42799353534303786,\n",
       " 'aristaless': 0.04722751752012521,\n",
       " 'NorpA': 0.00025556925835631153,\n",
       " 'Ir8a_Ir25a_ORCO_Gr63a': 4.49459973973883e-08}"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bouts_pvalues = {}\n",
    "\n",
    "control = ratio_bouts_df.query('condition==\"DL\"')['ratio_bouts']\n",
    "\n",
    "for condition in condition_order[1:]:\n",
    "        \n",
    "    print('\\n\\t', condition, '\\n')\n",
    "\n",
    "    try:\n",
    "        test = ratio_bouts_df.query('condition==\"' + condition + '\"')['ratio_bouts']\n",
    "\n",
    "        temp_values = {'control': control, 'test': test}\n",
    "\n",
    "        pvalue_condition = helpers.run_statistics(temp_values)\n",
    "\n",
    "        bouts_pvalues[condition] = pvalue_condition\n",
    "        \n",
    "    except ValueError as error:\n",
    "        print(error)\n",
    "    \n",
    "bouts_pvalues"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Bonferroni Correction\n",
      "---------------------\n",
      "\n",
      "\tOriginal Values:\n",
      " {'PoxN1': 0.45188122360798744, 'PoxN2': 0.42799353534303786, 'aristaless': 0.04722751752012521, 'NorpA': 0.00025556925835631153, 'Ir8a_Ir25a_ORCO_Gr63a': 4.49459973973883e-08}\n",
      "\n",
      "\tCorrected Values:\n",
      " {'PoxN1': 1.0, 'PoxN2': 1.0, 'aristaless': 0.23613758760062606, 'NorpA': 0.0012778462917815577, 'Ir8a_Ir25a_ORCO_Gr63a': 2.2472998698694149e-07} \n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Bonferroni corretction for multiple comparisons.\n",
    "title = 'Bonferroni Correction'\n",
    "print(title)\n",
    "print('-'*len(title))\n",
    "\n",
    "# Show uncorrected values.\n",
    "print('\\n\\tOriginal Values:\\n', bouts_pvalues)\n",
    "\n",
    "# Apply the bonferroni correction for multiple comparisons.\n",
    "bouts_multi_comp_correction = multipletests(pvals=list(bouts_pvalues.values()), alpha=0.05, method='bonferroni')[1]\n",
    "\n",
    "# Transform the correction results into a dictionary.\n",
    "corrected_bouts_pvalues = dict(zip(list(bouts_pvalues.keys()), bouts_multi_comp_correction))\n",
    "\n",
    "# Show corrected values.\n",
    "print('\\n\\tCorrected Values:\\n', corrected_bouts_pvalues, '\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Effect Size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "PoxN1\n",
      "Vestigial Effect: -0.16666666666666663 \n",
      "\n",
      "PoxN2\n",
      "Vestigial Effect: 0.0 \n",
      "\n",
      "aristaless\n",
      "Medium Effect: -0.6666666666666666 \n",
      "\n",
      "NorpA\n",
      "Large Efect: -1.0 \n",
      "\n",
      "Ir8a_Ir25a_ORCO_Gr63a\n",
      "Large Efect: -1.0 \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'PoxN1': -0.16666666666666663,\n",
       " 'PoxN2': 0.0,\n",
       " 'aristaless': -0.6666666666666666,\n",
       " 'NorpA': -1.0,\n",
       " 'Ir8a_Ir25a_ORCO_Gr63a': -1.0}"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bouts_effect_sizes = {}\n",
    "\n",
    "control = ratio_bouts_df.query('condition==\"DL\"')['ratio_bouts']\n",
    "\n",
    "for condition in condition_order[1:]:\n",
    "    \n",
    "    print(condition)\n",
    "    \n",
    "    test = ratio_bouts_df.query('condition==\"' + condition + '\"')['ratio_bouts']\n",
    "\n",
    "    median_diff = helpers.get_effect_size(control, test, method='median_diff')\n",
    "    \n",
    "    bouts_effect_sizes[condition] = median_diff\n",
    "    \n",
    "bouts_effect_sizes"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 540x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Initialize figure.\n",
    "n_conditions = ratio_bouts_df['condition'].nunique()\n",
    "figure, axis = plt.subplots(figsize=(1.25*n_conditions, 4))\n",
    "\n",
    "# Draw the boxplot.\n",
    "sns.boxplot(x='condition',\n",
    "            y='ratio_bouts',\n",
    "            data=ratio_bouts_df,\n",
    "            order=ratio_bouts_df['condition'].unique(),\n",
    "            palette=['steelblue', '#0B4619', '#116530', '#FFE652', '#F0E9D2', '#533535'],\n",
    "            width=0.6,\n",
    "            showfliers=False,\n",
    "            boxprops={'edgecolor': INK},\n",
    "            medianprops={'color': INK},\n",
    "            whiskerprops={'color': INK},\n",
    "            capprops={'color': INK}\n",
    "           )\n",
    "\n",
    "# Draw the swarmplot.\n",
    "sns.swarmplot(x='condition',\n",
    "              y='ratio_bouts',\n",
    "              data=ratio_bouts_df,\n",
    "              order=ratio_bouts_df['condition'].unique(),\n",
    "              palette=['steelblue', '#0B4619', '#116530', '#FFE652', '#F0E9D2', '#533535'],\n",
    "              linewidth=0.75,\n",
    "              edgecolor=INK\n",
    "             )\n",
    "\n",
    "# Figure and axes formatting.\n",
    "axis.set_xlabel('')\n",
    "axis.set_xticklabels([''])\n",
    "axis.set_ylabel('# Bouts / Minute of Copulation')\n",
    "axis.set_ylim(0, 6)\n",
    "axis.set_yticks(range(0, 6+1, 1))\n",
    "axis.set_yticklabels(range(0, 6+1, 1))\n",
    "\n",
    "# Table definition.\n",
    "row1 = [str(ratio_bouts_df.query('condition==\"'+condition+'\"').shape[0]) for condition in condition_order]\n",
    "row2_labels = ['WT', '${Poxn}$1', '${Poxn}$2', 'aristaless', '${norpA}$', '${IR8a\\N{SUPERSCRIPT ONE}, IR25a\\N{SUPERSCRIPT TWO}}$,\\n${GR63a\\N{SUPERSCRIPT ONE}, ORCO\\N{SUPERSCRIPT ONE}}$']\n",
    "row2_labels = [label + '\\n' for label in row2_labels]\n",
    "row2_labels[0] = 'WT\\n'\n",
    "row2 = row2_labels\n",
    "cell_text = np.array([row1, row2])\n",
    "\n",
    "row_labels = ['n =', '']\n",
    "summary_table = axis.table(cellText= cell_text,\n",
    "                           cellLoc='center',\n",
    "                           rowLabels=row_labels,\n",
    "                           rowLoc='center',\n",
    "                           colLoc='center'\n",
    "                          )\n",
    "\n",
    "summary_table.auto_set_font_size(False)\n",
    "summary_table.set_fontsize(11)\n",
    "\n",
    "properties = summary_table.properties()\n",
    "table_cells = properties['children']\n",
    "for cell in table_cells:\n",
    "    cell.set_height(0.12)\n",
    "    cell.set_alpha(0)\n",
    "    \n",
    "# Draw statistical results.\n",
    "for p, condition in enumerate(condition_order[1:]):\n",
    "    sig_height = 6 if (corrected_bouts_pvalues.get(condition, 'NaN') == 'NaN') or (corrected_bouts_pvalues.get(condition, 'NaN') >= 0.05) else 2\n",
    "    helpers.plot_stattest_result(ax=axis,\n",
    "                                 x1=p+1,\n",
    "                                 x2=p+1,\n",
    "                                 p_value=corrected_bouts_pvalues.get(condition, 'NaN'),\n",
    "                                 y=5.5,\n",
    "                                 ticksize=0,\n",
    "                                 xytext=(0,sig_height),\n",
    "                                 fontsize=13,\n",
    "                                 color=INK,\n",
    "                                 connector_color=INK\n",
    "                                )\n",
    "\n",
    "# Saving parameters.\n",
    "filename = 'nbouts_aggression_normalized_first_5mins_sensory_mutants'\n",
    "plt.savefig( os.path.join(savepath, filename))\n",
    "\n",
    "plt.show()\n",
    "plt.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
